package cn.six1943.deepchat.module.ai.controller.admin.model.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import cn.six1943.deepchat.module.ai.dal.dataobject.model.ModelDO;

@Schema(description = "管理后台 - 模型密钥新增/修改 Request VO")
@Data
public class ProviderInstSaveReqVO {

    @Schema(description = "id", example = "1024")
    private Long id;

    @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "数据类型不能为空")
    private Integer dataType;

    @Schema(description = "服务商", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "服务商不能为空")
    private String provider;

    @Schema(description = "api_url", example = "https://www.iocoder.cn")
    private String apiUrl;

    @Schema(description = "api_version")
    private String apiVersion;

    @Schema(description = "api_region")
    private String apiRegion;

    @Schema(description = "api_ak")
    private String apiAk;

    @Schema(description = "api_sk", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "api_sk不能为空")
    private String apiSk;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空")
    private Integer status;

    @Schema(description = "模型列表")
    private List<ModelDO> models;

}